package com.base.api.bds;

import com.base.vo.bds.BdsClinicPageHelper;
import com.base.vo.bds.BdsCodeTable;
import com.base.vo.bds.BdsCodeTableItem;
import com.base.vo.bds.BdsOrganization;

import java.util.Map;

/**
 * bds服务层
 */
public interface BdsClinicService {

    /**
     * 分页匹配查询诊疗项目
     * @param bdsClinicPageHelper
     * @return
     */
    String getBdsClinicItemListByInputCode(BdsClinicPageHelper bdsClinicPageHelper);

    /**
     * 获取组织机构
     * @return
     */
    String getBdsOrganization();

    /**
     * 获取组织机构树形JSON
     * @return
     */
    String getBdsOrganizationTreeJson();

    /**
     * 保存组织机构
     * @param bdsOrganization
     * @return
     */
    String saveBdsOrganization(BdsOrganization bdsOrganization);

    /**
     * 删除组织机构
     * @param id
     * @return
     */
    String delBdsOrganization(Integer id);

    /**
     * 通过关键字检索码表目录
     * @param keyWords
     * @return
     */
    String getBdsCodeTable(String keyWords);

    /**
     * 查询码表详情
     * @param tId 主表ID
     * @return
     */
    String getBdsCodeTableItem(Integer tId,String keyWords);

    /**
     * 禁用启用
     * @param bdsCodeTableItem
     * @return
     */
    String enabledTableItem(BdsCodeTableItem bdsCodeTableItem);

    /**
     * 保存码表目录
     * @param bdsCodeTable
     * @return
     */
    String saveBdsCodeTable(BdsCodeTable bdsCodeTable);


    /**
     * 保存码表条目
     * @param bdsCodeTableItem
     * @return
     */
    String saveBdsCodeTableItem(BdsCodeTableItem bdsCodeTableItem);

    /**
     * 删除码表目录
     * @param id
     * @return
     */
    String delCodeTableById(Integer id);

    /**
     * 删除码表明细
     * @param id
     * @return
     */
    String delCodeTableItemById(Integer id);

    /**
     * 根据标准编码获取字典
     * @param standardCode
     * @return
     */
    String getTableCodeItemByStandardCode(String standardCode);

    /**
     * 关键字查询组织机构
     * @param keywords
     * @return
     */
    String getBdsOrganizationByKeyWords(String keywords);

    /**
     * 查询存在人员信息中的科室
     * @return
     */
    Map<String, Object> getBdsOrganizationInUum();
}
